package BloodTimeHybernateTest;

import java.util.List;

import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.AnnotationConfiguration;
import org.hibernate.cfg.Configuration;

import BloodTimeHybernateDO.ArticuloDO;
import BloodTimeHybernateDO.VampiroArticuloDO;
import BloodTimeHybernateDO.VampiroDO;

/**
 * 
 * @author Cesar Armando Fuguet Tortolero
 *
 */

public class TestVampiroArticuloDO {

    public static void main(String[] args) {
        Configuration configuration = new AnnotationConfiguration();
        configuration.configure("/BloodTimeHybernateDO/hibernate.cfg.xml");
        SessionFactory sessionFactory = configuration.buildSessionFactory();

        VampiroDO vampiroDO;
        VampiroArticuloDO vampiroArticuloDO;
        ArticuloDO articuloDO;

        Session session = sessionFactory.openSession();

        session.beginTransaction();

        vampiroDO = new VampiroDO();
        vampiroDO.setNombre("NombreVampiro");
        vampiroDO.setApellido("ApellidoVampiro");
        vampiroDO.setAlias("AliasVampiro");
        vampiroDO.setCorreo("CorreoVampiro@mail.com");

        for (int i = 0; i < 5; i++) {
            articuloDO = new ArticuloDO();
            articuloDO.setNombre("NombreArticulo" + i);
            articuloDO.setDescripcion("DescripcionArticulo" + i);
            articuloDO.setPrecioCompra(100);
            articuloDO.setPrecioVenta(50);

            vampiroArticuloDO = new VampiroArticuloDO();
            vampiroArticuloDO.setEquipado(true);
            vampiroArticuloDO.setVampiroId(vampiroDO);
            vampiroArticuloDO.setArticuloId(articuloDO);

            vampiroDO.getVampiroArticuloList().add(vampiroArticuloDO);
            articuloDO.getVampiroArticuloList().add(vampiroArticuloDO);

            session.save(vampiroDO);
            session.save(articuloDO);
        }

        session.getTransaction().commit();
        session.close();
    }

}
